/* 
    使用变量process.env.你的内容即可得到
    import { reactive, ref,onMounted} from "vue";
    onMounted(()=>{
    console.log(process.env.VUE_APP_XIAOMING);
    })
*/

/* 
    在今后的请求中直接写请求的路由地址就行
    // 发送请求 url中请求地址前缀已经在baseURL中配置了
    link("/one").then((ok)=>{
	console.log(ok)
    })
*/












/* 
    axios封装与拦截器

    请求拦截器
请求拦截器的作用是在请求发送前进行一些操作，例如在每个请求体里加上token，统一做了处理如果以后要改也非常容易。

    响应拦截器  
 响应拦截器的作用是在接收到响应后进行一些操作，例如在服务器返回登录状态失效，需要重新登录的时候，跳转到登录页。
*/

import axios from 'axios';

let axiosurl = ""
// 如果为开发模式的话执行url
if (process.env.NODE_ENV === 'development') {
    axiosurl = process.env.VUE_APP_API
} else {
    // 否则设置成其他的模式（这里今后有很多个判断）
    axiosurl = process.env.VUE_APP_API
}
//创建axios 赋值给常量service
// axios.create()是添加了自定义配置的新的axios
const service = axios.create({
    baseURL: axiosurl
})
//添加请求拦截器( Interceptors)
service.interceptors.request.use(function (config) {
    //发送请求之前做什么 写什么
    return config
}, function (error) {
    //请求错误的时候做什么
    //reject 数据消费?
    return Promise.reject(error);
});


//添加响应式拦截器
service.interceptors.response.use(function (response) {
    // 对响应数据做点什么
    return response;
}, function (error) {

    //打印下看着当错误的时候干什么

    //得到失败响应的status(状态码)需要在response中获得  error.response.status
    console.log("aaaaaa", error.response.status);
    switch (error.response.status) {
        case 404:
            console.log("url信息有误")
            break;
        case 500:
            console.log("服务器有问题")
            break;

        default:
            console.log("未知错误")
            break;
    }
    //对响应错误做点什么
    return Promise.reject(error);
})


export default service